ALBのHTTPヘッダールーティングを使ってIE11でアクセスできないサイトを作ってみた
数年前。。 「標準ブラウザはIEXXとします.IE以外のブラウザでアクセスした場合はエラーページを表示します」 「了解した」
そんな会話があったかはわかりませんが、IEでしか(正しく)表示できないサイトは現在でも多数存在します。ですが、以下の記事にもあるように、2019年現在、IEの利用は推奨されていません。
そこで今回は、世の中からIEの利用者を減らすべく、IEでアクセスするとMicrosoft Edgeのダウンロードページにリダイレクトするようなサイトを作ってみました。
ALBの新機能「HTTPヘッダールーティング」を使って実現するので、アプリケーション側での考慮は不要です!!それではやってみましょう!!
やってみた
※ALBにEC2(Nginxを起動)が紐付いている状態からスタートします。
まずはChromeでアクセスしてみましょう。
正しく表示されます。次にIEでもアクセスしてみましょう。
まだ何も実施していないので、正しく表示さていますね。
ではここからIE11でアクセスした場合、Microsoft Edgeのダウンロードページにリダイレクトするような設定を入れていきます。
ルールの追加
対象のロードバランサの「ルールの表示/編集」をクリックします。
IE11の判定条件『HTTPヘッダーUser-Agent
が*Trident/7.0; rv:11.0*
』を入力します。
また、リダイレクト先の条件も指定のサイトとなるように入力し、右上の「保存」をクリックします。
これで設定完了です。非常に簡単ですね。
では、IE11からアクセスしてみましょう!
正しくリダイレクトされました!!もちろんChromeでは正規のサイトが表示されます!!
まとめ
HTTPヘッダールーティングで利用できるブラウザを制限してみました。少しネタっぽくなりましたが、HTTPヘッダールーティングはかなり多くの場面で利用できると思います。みなさんもぜひ利用してみてください。
参考
[新機能] HTTPヘッダーやクエリ文字列などなどでルーティングができちゃう!!AWS ALBで高度なリクエストルーティングが可能になりました!